Firefly Software Systems Corp. Box 5035 Oregon City, OR 97045 Tech support 503-694-2221 Sales 503-694-2282 FAX 503-694-5867 BBS 503-694-2220 ---- For latest updates Compuserve 74774,1421,47 Internet 74774.1421@Compuserve.com On CIS 'GO FIREFLY' The registered version has a new feature where Letter Box can be set up to prevent duplicate programs from being run at the same time. This requires the PIF be marked with a special flag and a switch to be set in the LETTRBOX.INI file. This feature is especially intended to make life easier for corporate support departments. See below for more info. The version of Letter Box starting with v1.5x now has a status window and a fully automatic install. The install is better in that not all the Letter Box components are installed in the Windows directory or System directory as in earlier versions. If you are installing v1.5x or later over an older version prior to 1.5x then there will be some old Letter Box components left around on the disk that you should delete by hand. They are: WOLDAPDL.DLL, WX.HLP, VTSR____.TTF and .FOT. Do NOT delete the copies of these files that exist in the Letter Box private directory. If a batch file or other program file that is referenced in a PIF as an argument to command.com, like: command.com /c your.bat is not locatable on the disk, then Letter Box will give you a warning with the name and path of the not found file. This is a real headache saver, as the old version would most likely give you such a fast error message that you could not even have time to read it. The present implementation requires that the extension (.bat,.com,exe) be attached to the command to be executed, or it will not attempt to find/verify the command as a file. The new install gives you several sample PIF's, each one should be tried so that you can see what kinds of things Letter Box can do for you. Envtest and dosprmpt are NOT intended to work correctly, but they do demonstrate Letter Box's ability to recover from error conditions. When shutting down Windows, if there is a DOS session still active, Letter Box will make the DOS session foreground, in order to close it down. The old method left you having to select the DOS session to close it. If there are 2 or more DOS sessions running, then the others will have to be shut down as well. Letter Box now has a PostAppMessage support system that sends messages to the parent task that started the DOS session. These messages indicate various steps that have been completed as the DOS session starts up and closes down. This means that a programmer can now accurately tell when a DOS session has started and stopped, if the DOS Virtual Machine has succesfully started, or failed and when the session has closed down or become inactive. The settings dialog box now has a "Where" pushbutton. The Where Dialog box that results from pushing it, displays information about where the session state came from. The path and file name of all the key executable components. Also, the source of the title, from program properties or from the PIF file. This information is a great help as it is not always apparent where the session's title came from or if the executables being used are the ones you intended. Windows loads executables by a search pattern that starts in your current directory, then the Windows directory, then the Windows\System directory, then the path, etc. If during the search the system finds a file name that is looking for before you expect, then it will load that copy instead of the copy you might expect. If you receive a message to use the VFYGRB program, it can be found on the disk or our forum on CIS or our BBS. Screen Captures: Text captures can be made using the edit menu options. Or shift-printscreen. Bitmaps of the Windowed session can be made with alt-printscreen or ctrl-printscreen. Mistakes in documentation: Page 5. Programmers interface. wParam = 178h, is not complete. The return is a memory handle, marked GMEM_DDESHARE and the return is in AX, the lowword of the DWORD return. You must GlobalFree the handle when you are done. The line which has 178h, should read: 178h = get entire screen. DX is in the hiword of the return and AX is in the lowword. The Programmers interface in the Pro version of letter box, now returns: For 17B hex, DX:AX returns the status flags. See statusfl.inc in the DDK or contact Firefly tech support for details. The status flags have 32 bits of bit flags, Windowed, in select mode, created, destroyed, etc. Windowed is the 3 bit (zero based). For 17C hex, DX:AX returns the pif file flags. See statusfl.inc in the DDK or contact Firefly tech support for details. The pif file flags have 19 bits of bit flags. Enable close, full screen on start, disable certain hot keys, etc. Letter Box now supports a DOS application starting a Windows or DOS app. The mechanism is quite simple. Use the Interrupt 2F hex call, function 1703, with one slight change: put 3001 hex in AX. The string pointed to by ES:BX should be a correctly made string for a WINEXEC call. The shareware version of Letter Box does not support arguments to this command. A sample program that demonstrates using this feature is included. The name of this program is tstw. This type of functionality can be enhanced quite a bit, see future versions of Letter Box. If you get a message that you have mis-matched video components, run the program supplied with letter box: VFYGRB.EXE. This will tell you which components are wrong. The fix normally is to re-install the video display drivers. Letter Box Pro now has a new enhancement similar to Winbatch, where the programmers interface can be accessed from WINRexx. Personal Rexx for Windows is a product of Quercus Systems, P.O. Box 2157, Saratoga, CA 95070. (408) 867-REXX. For details contact Quercus or Firefly. The solution to problems where starting a DOS session results in an immediate close down of the session, and the error or status message disappears before it can be seen, is to set the 'Close on exit' switch to off. This will cause the DOS session to remain beind as an inactive window, with the necessary message left on the screen. Also: If you have a DOS Icon or other program that closes down as soon as it is started, so fast that you can not even see the error message, try setting the PIF that runs it to "NO CLOSE ON EXIT". That will keep the Window open but the DOS (VM) will be inactive. Then you should be able to see the exit message. If your PATH statement in autoexec.bat does not have a drive letter associated with the Windows Directory strange things can happen to your Windows environment, such as "\windows", instead of "C:\windows". It is a big mistake to attempt to run windows with such a shortened path. If you want your settings (maximized, etc) saved on exit, you must set the "SAVE on exit" switch in the settings dialog box, or in the OEM Fonts dialog box. Windowed/Full screen is NOT saved by this method. This could be changed, but would require some programming work. Please advise if you need this. Some users, new to Windows don't understand about a Windowed DOS session. The reality is that there is a Windows Application called Winoldap(our version: Letter Box), that runs ALL DOS sessions. When a DOS session is windowed, Winoldap is the Window that you are looking at. The DOS screen is mapped to memory NOT visible. While this is happening the DOS screen is rendered into the window by the Windows module known as "the grabber". Every 1/50 of a second or so, the grabber updates the Window. THIS MEANS that the DOS's window is NOT the dos application. 1. Characters typed at the keyboard go to the DOS application. 2. Special characters go to the WINDOW. This also means that to close a windowed or full screen session, you must shut down or exit the DOS application. If command.com is running you must explicitly type "EXIT " The DOS application must be shut down in the normal manner it would require if Windows were not running. If this is still not clear, then understand this. There are 2 modes involved here. If a windowed session has a menu or one of it's dialog windows open, then you are in the WINDOW mode, else you are in the normal mode. In normal mode all keys, (except for a few special keys) go to the DOS application. Window mode includes operations where: mark, select,copy, paste are in progress. When in these operations modes, the window title will be appended to with a string identifying the mode. If Windows Crashes back to DOS, it may be caused by overwriting the table that contains the transition rings. 3B:0000, 3B:0002, etc. The result is Windows exits with no warnings or messages, DOS prompt appears. This is often a result of using the registers ES:DI or whatever just after making a call that returns a VM ring 3 transition address. This won't mean much to you if you aren't a programmer. But if you can identify the application that is running that causes the crash, you can tell that to their programmers. If you experience difficulty with Windowed DOS sessions starting up with strange fonts or window sizing, try replacing the DOSAPPx.ini file. It may be corrupted and the code that loads it does very little consitency checking on it's contents. Most everyone has trouble setting up DOS batch files to be run as DOS tasks in a DOS session under Windows. There are several reasons that this is so. First, it is not your imagination that makes you think this. I do it fairly regularly and still I find myself pulling out hair by the roots. Here follows the galactic wide solution! 1. Any DOS batch file can be "RUN" from Windows. 2. If the batch file uses ANY "set" commands, without some effort on your part to supply enough environment space, you may come to think you have shot yourself in the foot. 3. When Windows runs such a batch file, what it really does is run command.com, using the batch file as an optional parameter. 4. When Windows does this it does NOT provide any additional environment space. 5. If you run command.com using the batch file as an argument, you can supply added environment space. Such as: command.com /e:1200 /C yourbat.bat This will provide yourbat.bat file 1200 bytes of environment space when it is run. 6. All that was the easy part. The hard part is this. There other places where you can set the size of the environment space. The shell command in config.sys is one or the CommandEnvSize switch in system.ini is the other. 7. There is ONE MORE problem. The environment size numbers you use are the maximum sizes that will be allocated. These numbers are NOT the size of some additive amounts that will included with environment space already in use. In other words: if you change the use of environment space lower down in the system, the absolute numbers you have supplied will NOT change in tandem. This is the order in which environment space is defined. Number 3 is the last and will overlay, 1 or 2, as well as number 2 will overlay number 1. 1. SHELL=command.com /p /e:xxxxx 2. CommandEnvSize=xxxxx 3. PIF settings to the optional parameters. A. Some DOS applications will change/add to the environment and may be sent into convulsions if there is not enough space. The solution for them is the same as the batch file. Substitute the DOS app's name for the batch file and do like the sample. ======================= DOS apps which run in 50 line mode do not restore to the same size window when restarted. There are 2 solutions. One is to use the ScreenLines=50, switch in system.ini, [NonWindowsApp] section. The other is to maximize right after 50 line mode is enabled. ------------------------------------------------- DUPLICATE apps. We have included a pif that has the byte at offset 170 hex, where the first bit is set. This bit will cause Letter Box to check for the running of a duplicate app. There is also a switch that must be set for this feature to work. The switch is: WoaNoDups=1 it is located in the: [NonWindowsApp] section of system.ini. You may set the bit youself with debug or some other binary editor or make a copy of duplicat.pif and modify the copy to suit yourself. Eventually the pifeditor will be modified to support setting this bit. Remember, you must change the system.ini file as described just above and the PIF must have the bit set for the duplicate checking to occur. ------------------------------------------------- Installation notes. The information in the printed manual is NOW WRONG, in regards to where files are placed at installation time. The setup/install places several components in the private Letter Box directory, which you can pick to suit yourself. In general if Letter Box won't run. LETBOX.INI must be in the Windows directory. The following files MUST be in the Letter Box private directory: WOLDAPDL.DLL WX.HLP VTSR____.* -------------------------------------------------- UnInstalling Letter Box. The files in the Letter Box private directory should be deleted and the directory itself. The files: letbox.ini dosappx.ini should be deleted from the Windows directory. The file Winoa386.mod should be replaced with the original from Microsoft. This file is normally located in the Windows\System directory. The Microsoft version should be in the winoa386.ms file copied during the Letter Box install. The copy command that will return things to their original state is: Copy Winoa386.ms Winoa386.mod Delete the Letter Box group from the shell program(progman). IF the winoa386.mod and winoa386.ms are the same file, date and size BEFORE you restore, OR if the .ms file is about 50k, then you will have to recover the original file from your Windows Distribution disk. The file name is winoa386.mo_, the file is in compressed format and must be expanded, use the expand program that comes with Windows. Such as: Expand winoa386.mo_ winoa386.mod Copy the result to the Windows System directory. This should complete your uninstall of letter box. Firefly Software Systems Corp. Box 5035 Oregon City, OR 97045 503-694-2221 FAX 503-694-5867 BBS 503-694-2220 ---- For latest updates 9-8-94 This program project is named Letter Box. A replacement for WINOA386.MOD from Firefly Software Systems Corp. (Winoa386.mod is the sub system that Windows uses to run DOS applications). Not to be confused with COMMAND.COM, which winoa386.mod RUNS but does not replace. INSTALLATION -------------- There is no automatic setup/install program yet!! Warning!!! in the case of BWCC.DLL, don't copy an older version over a new version already installed. These files are normally found in the Windows\SYSTEM subdirectory. --------- Rename Winoa386.mod to something else like *.ms copy wx.mod to Winoa386.mod. Copy WOLDAPDL.DLL to the same directory with Winoa386.mod Copy the dosfon.fon font to the same directory(not same file as dosapp.fon). Letter Box requires BWCC.DLL, install in the same directory. Copy VTSR___.ttf to the same directory (see note below). ------------------------------------- The next files go in the WINDOWS directory Copy(do not rename) DOSAPP.INI to DOSAPPX.INI. (in windows subdirectory). Copy WX.HLP to Windows subdirectory. The True Type font VTSR needs to be added to the system. Start Windows. Start a DOS session, make it Windowed(Alt-Enter), then Alt-Space to open the system menu. Select the Settings/Install menu item. Select the OK button to finish installing the VTSR font. To verify the VTSR font is installed, choose Font/TrueType from the system menu, "TT Video Terminal Screen" should be one of the fonts displayed. That's all it takes for the install. Latest BWCC.DLL can be obtained from Borland Forum on Compuserve "BCPPDOS", lib #2, "From Borland". Or from our BBS 503-694-2220. (about 50k file). Pifeditor: see section below for method of using our pif editor or the original. To verify that Letter Box is installed. Start a Windowed DOS session. (Alt+Enter, will make a fullscreen session windowed). Select the settings menu item, then the "About" menu item. Problems reported will be fixed, where feasible within minutes. Hours, days, years. As fast as possible. FEATURES: System.ini switches [NonWindowsApps] WinoaLogErrors=1 ; turns on error logging. ; 0 = off, 1 = on, 2 = on and notify w/messagebox Special Features Better error handling Faster -------------- Screen updates (more to come). Starting a second DOS session; much faster. New help file. The User Interface has been improved somewhat. Operations which take some time, more than a second have an hourglass/wait icon displayed. The system/settings menu now has 2 items. This Session, and PIF Editor. Brings up the pif editor and the correct pif file for the present DOS session. New feature: A full screen menu item with "fonts". Causes Windowed session to go full size using largest font that will fit 80x25 or 80x50 completely on the screen. Also a font info dialog box, displays info about current font in use. The Settings dialog box, has a help button for DOS sessions that have gone to sleep and won't wake up. True Type Fixed Fonts in a Windowed DOS session!!!! The dialog box will allow any point size you want to enter manually. If you use a "?" in the pif file in the optional parameters, Winoldap will put up a dialog box prompt asking you to fill in the blank. Our implementation supports a browse button, cancel, help and maybe a history list. Now allows changing the full-screen/windowed option. This feature is quite powerful. An Extended DOSAPP.ini file is now being used. The file name is "DOSAPPx.ini" This extended file will allow new features, including a limit on the number of instances that can be started. A CopyScreen to clipboard menu item. Error logging for system administrators. Log is kept in WINOLDAP.LOG in the Windows directory. More stack space More reliable during startup. Starting 2 dos sessions back to back won't crash your system or make it unstable. More reliable during run time. Critical error messages will always display under worst case. Should be much better on a network. If the grabber file (vga.3gr or whatever) can't be found, you will get a specific message with precise missing file name when you try to start a DOS session. Try it. Rename the vga.3gr in system.ini to vgaz.3gr. Help buttons in all dialog boxes. A True Type Terminal Font by Ed Behl. VTSR____.TTF.(if not included, see below) These type faces are from Ed Behl's type company, in Florida. This VTSR is a True Type but has the PC-8 (OEM terminal) type faces with the high ascii characters and the low ascii ( less than ascii 32), also known as the "funny faces" see ->,